A webpage is a document written in a standard markup language that is typically downloaded to a local network device over the World Wide Web of the Internet from a webserver. Once downloaded, the webpage is then rendered to a user of the local network device in an application known as a web browser (or simply a “browser”). When a webpage that was downloaded from a webserver is rendered in a browser, the webpage may have sub-resources that are downloaded from other third-party webservers (such as ad network webservers, Content Distribution Network webservers, third party analytics webservers, etc.). Browsers may be configured to employ many different technologies and programming languages and may also be configured to execute executable code (that is downloaded as part of a webpage or from third-party webservers) during the rendering of the webpage. Allowing a browser to execute executable code that is included in a webpage (which may be a default setting in the browser) may add dynamic functionality to the webpage, thus making the webpage more useful to a user.
One potential problem with allowing a browser to execute executable code in a webpage while rendering the webpage is the potential for the executable code to be malicious. For example, a purveyor of a computer virus may embed the virus as malicious executable code in a webpage in an attempt to compromise a local network device with the virus. In particular, once the webpage is downloaded to a browser at the local network device and the malicious executable code is executed by the browser during the rendering of the webpage, the virus may compromise the local network device.
Therefore, although it may be useful to a user to allow a browser to execute executable code in a webpage while rendering the webpage, the potential for the executable code to be malicious may present a security threat to the local network device on which the browser is executing.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one example technology area where some embodiments described herein may be practiced.